TimesTenユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーまたは警告(あるいはその両方)を取得します。
ttUtilGetError (ttUtilHandle handle, unsigned int errIndex,
unsigned int *retCode, ttUtilErrType *retType,
char *errbuff, unsigned int buffLen,
unsigned int *errLen);
ttUtilGetError には、次のパラメータがあります。
パラメータ | 型 | 説明 |
handle | ttUtilHandle | ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。 |
errIndex | unsigned int | TimesTenユーティリティ・ライブラリ・エラー配列から取得するエラー/警告レコードを指定します。有効な値は、次のとおりです。 0: ユーティリティ・ライブラリ・エラー配列から次のレコードを取得します。 |
retCode | unsigned int* | TimesTen固有のエラー/警告コード( tt_errCode.h で定義されています)を返します。 |
retType | ttUtilErrType* | 返されたメッセージがエラーまたは警告のいずれであるかを示します。有効な値は、次のとおりです。 TTUTIL_ERROR TTUTIL_WARNING |
errBuff | char * | エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファ。返されるエラー・メッセージはヌル終端文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
buffLen | unsigned int | バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。 |
errLen | unsigned int * | エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、このパラメータは無視されます。 |
ttUtilGetErrorは、次のコード(ttutillib.h
で定義されています)を返します。
コード | 説明 |
TTUTIL_SUCCESS | 成功時に返します。 |
TTUTIL_INVALID_HANDLE | 無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。 |
TTUTIL_NODATA | エラー情報も警告情報も取得されない場合に返します。 |
payroll
というDSNに対して、ttDestroyDataStoreをコールした後にすべてのエラー情報または警告情報を取得するには、次のように入力します。
char errBuff[256];
int rc;
unsigned int retCode;
ttUtilErrType retType;
ttUtilHandle utilHandle;
rc = ttDestroyDataStore (utilHandle, "DSN=PAYROLL", 30);
if ((rc == TTUTIL_SUCCESS)
printf ("Datastore payroll successfully destroyed.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
printf ("TimesTen utility library handle is invalid.\n");
else
while ((rc = ttUtilGetError (utilHandle, 0,
&retCode, &retType, errBuff, sizeof (errBuff),
NULL)) != TTUTIL_NODATA)
{
...............
...............
}
各TimesTenユーティリティ・ライブラリ関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。